package com.dashang.util.common;

import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 *
 * MD5消息摘要
 *
 * @author 陈兴
 * @version [版本号, 2011-8-21]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public class MD5Util
{
    /**
     * 日志记录
     */
    private static final Log log = LogFactory.getLog(MD5Util.class);

    /**
     *
     * Md5消息摘要
     *
     * @param str 需要加密的字符串
     * @return 经过加密后的摘要文字
     * @see [类、类#方法、类#成员]
     */
    public static String EncoderByMd5(String str)
    {
        try
        {
            MessageDigest md5 = MessageDigest.getInstance("MD5");
            return new BigInteger(1, md5.digest(str.getBytes("UTF-8"))).toString(16);
        }
        catch (NoSuchAlgorithmException e)
        {
            log.error(e);
            return null;
        }
        catch (UnsupportedEncodingException e)
        {
            log.error(e);
            return null;
        }
    }

    //
    // public static void main(String[] args)
    // {
    // System.out.println(MD5Util.EncoderByMd5("admin"));
    // }

}
